programove nastaveni data a casu systemu

Otázka od: Vlastimil Burian

18. 9. 2004 18:45

Muzete mi poradit jak programove nastavit datum a cas systemu ? uz sem
zkusil vsechno  



Odpovedá: David Kraina

18. 9. 2004 20:51

Prikladam zdrojak (cizi). Ale jsou tam mouchy, predevsim v casovem pasme,
resil jsem to pres SetLocalSystemTime...


function SetPCSystemTime(tDati: TDateTime): Boolean;
var
   tSetDati: TDateTime;
   vDatiBias: Variant;
   tTZI: TTimeZoneInformation;
   tST: TSystemTime;
begin
   GetTimeZoneInformation(tTZI);
   vDatiBias := tTZI.Bias / 1440;
   tSetDati := tDati + vDatiBias;
   with tST do
   begin
        wYear := StrToInt(FormatDateTime('yyyy', tSetDati));
        wMonth := StrToInt(FormatDateTime('mm', tSetDati));
        wDay := StrToInt(FormatDateTime('dd', tSetDati));
        wHour := StrToInt(FormatDateTime('hh', tSetDati));
        wMinute := StrToInt(FormatDateTime('nn', tSetDati));
        wSecond := StrToInt(FormatDateTime('ss', tSetDati));
        wMilliseconds := 0;
   end;
   Result := SetSystemTime(tST);
end;



> Muzete mi poradit jak programove nastavit datum a cas systemu ?


Odpovedá: Vlastimil Burian

19. 9. 2004 0:01

jestli to nekoho zajima .. to nastaveni data (i casu) systemu se po
zjednoduseni da udelat fakt jednoduse

var
  Cas : TSystemTime;

begin
  GetSystemTime(Cas);

  Cas.wYear := "nova hodnota";
  Cas.wMonth := "nova hodnota";
  Cas.wDay := "nova hodnota";

  SetSystemTime(Cas);
end;

jeste by me zajimalo jaky je pak rozdil mezi API funkcemi
-- SetSystemTime
-- SetLocalTime

nejak mi to z helpu nedochazi:
-- "The SetLocalTime function sets the current local time and date."
--
"The SetSystemTime function sets the current system time and date. The
system time is expressed in Coordinated Universal Time (UTC)."

jinak je (nejen) v helpu vsechno stejny tak nevim .. pripada mi to stejny ..



Odpovedá: Roland Turcan

19. 9. 2004 0:15

<<< 19.9.2004 1:12 - Vlastimil Burian "vlastax.b@seznam.cz" >>>
VB> jeste by me zajimalo jaky je pak rozdil mezi API funkcemi
VB> -- SetSystemTime
VB> -- SetLocalTime

Myslim ze Local je ten, ktory mas nastaveny v Regional Settings a
SystemTime je vlastne cas GMT. Mal by byt medzi nimi rozdiel v hodine.

--
Best regards, TRoland
http://www.rotursoft.sk
http://exekutor.rotursoft.sk